#!/bin/bash

################################################################################
# SSL 证书检查脚本
# 功能: 检查 MinIO Nginx 节点上是否存在 SSL 证书
# 使用: ./check-certs.sh
################################################################################

# 颜色定义
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
NC='\033[0m'

NODE="minio1" # 假设 Nginx 部署在 minio1 (10.1.1.103)
SSL_DIR="/home/jd103/nginx-lb/ssl"

echo -e "${BLUE}========================================${NC}"
echo -e "${BLUE}检查服务器上的 SSL 证书${NC}"
echo -e "${BLUE}========================================${NC}"
echo ""
echo -e "${YELLOW}目标服务器:${NC} ${NODE}"
echo -e "${YELLOW}检查目录:${NC} ${SSL_DIR}"
echo ""

# 检查目录是否存在
if ssh ${NODE} "[ -d ${SSL_DIR} ]"; then
    echo -e "${GREEN}✅ SSL 目录存在${NC}"
    echo ""
    echo -e "${CYAN}目录内容:${NC}"
    ssh ${NODE} "ls -la ${SSL_DIR}"
    echo ""
    
    # 检查是否有 .crt 和 .key 文件
    if ssh ${NODE} "ls ${SSL_DIR}/*.crt >/dev/null 2>&1" && ssh ${NODE} "ls ${SSL_DIR}/*.key >/dev/null 2>&1"; then
        echo -e "${GREEN}✅ 发现证书文件！${NC}"
        echo -e "我们可以配置 Nginx 使用这些证书开启 HTTPS。"
    else
        echo -e "${YELLOW}⚠️  目录存在但未找到 .crt 或 .key 文件${NC}"
    fi
else
    echo -e "${RED}❌ SSL 目录不存在: ${SSL_DIR}${NC}"
    echo -e "您需要手动上传证书文件到此目录。"
fi

echo ""
echo -e "${BLUE}========================================${NC}"
echo -e "${YELLOW}如果您有证书文件 (xxx.crt 和 xxx.key)，请执行以下步骤:${NC}"
echo -e "1. 将证书上传到 minio1 服务器的 ${SSL_DIR} 目录"
echo -e "2. 确保文件名为:"
echo -e "   - bigdata.data.jichuangmao.com.crt"
echo -e "   - bigdata.data.jichuangmao.com.key"
echo -e "   - bigdata-ui.data.jichuangmao.com.crt"
echo -e "   - bigdata-ui.data.jichuangmao.com.key"
echo -e "   (如果是泛域名证书 *.data.jichuangmao.com，则复用同一份文件)"
